#pragma once

#include <string>
using namespace std;

namespace encry
{
    // base64
    string Base64Encode(const unsigned char* Data,int DataByte);

    string Base64Decode(const char* Data,int DataByte,int& OutByte);

    // Md5
    struct _MD5_HANDLE_;
    typedef struct _MD5_HANDLE_ MD5_HANDLE;
    MD5_HANDLE* MD5Init();
    void MD5Update(MD5_HANDLE* h, unsigned char* input, unsigned int inputLen);
    void MD5Final(MD5_HANDLE* h, unsigned char digest[16]);
    string GetMD5(const unsigned char* pBuffer, int bufLen);
}